Package-level declarations

Types

Link copied to clipboard

Errors that can occur while validating and resolving an authorization request

Link copied to clipboard

An exception indicating an expected error while validating and/or resolving an authorization request

Link copied to clipboard

An interface that describes a service that accepts an authorization requestauthorization request, validates it and resolves it (that is, fetches parts of the authorization request which are provided by reference)

Link copied to clipboard
typealias Base64UrlSafe = String
Link copied to clipboard
sealed interface Client : Serializable

Represents an OAuth2 RP that submitted an Authorization Request.

Link copied to clipboard
Link copied to clipboard
sealed interface Consensus : Serializable

Representation of holder's consensus to a ResolvedRequestObject

Link copied to clipboard
@Serializable
value class CoseAlgorithm(val value: Int) : Serializable
Link copied to clipboard
interface Dispatcher

This interface assembles an appropriate authorization response given a request and holder's consensus and then dispatches it to the verifier

Link copied to clipboard
sealed interface DispatchOutcome : Serializable

The outcome of dispatching an Consensus to verifier/RP.

Link copied to clipboard
Link copied to clipboard

Wallet articulated encryption requirements.

Link copied to clipboard
data class ErrorDispatchDetails(val responseMode: ResponseMode, val nonce: String?, val state: String?, val clientId: VerifierId?, val responseEncryptionSpecification: ResponseEncryptionSpecification?) : Serializable

Information required for an AuthorizationRequestError to be dispatchable.

Link copied to clipboard
interface ErrorDispatcher

This interface assembles an appropriate authorization error response given an error that occurred during the authorization request resolution and then dispatches it to the verifier

Link copied to clipboard

Wallets policy regarding error dispatching.

Link copied to clipboard
@Serializable
value class Format(val value: String)
Link copied to clipboard
value class HashAlgorithm(val name: String) : Serializable

IANA registered Hash Algorithms

Link copied to clipboard
Link copied to clipboard

The type of the id_token the client (verifier party) requested

Link copied to clipboard
data class JarConfiguration(val supportedAlgorithms: List<JWSAlgorithm>, val supportedRequestUriMethods: SupportedRequestUriMethods = SupportedRequestUriMethods.Default)

Options related to JWT-Secured authorization requests

Link copied to clipboard
sealed interface JwkSetSource
Link copied to clipboard
typealias Jwt = String
Link copied to clipboard
Link copied to clipboard
sealed interface NonceOption
Link copied to clipboard

The Original Client Id of a Verifier, i.e. without a Client Id Prefix.

Link copied to clipboard
data class PreregisteredClient(val clientId: OriginalClientId, val legalName: String, val jarConfig: Pair<JWSAlgorithm, JwkSetSource>? = null)

The out-of-band knowledge of a Verifier, used in SupportedClientIdPrefix.Preregistered

Link copied to clipboard

Validation errors that can occur while validating an authorization request

Link copied to clipboard
sealed interface Resolution

The outcome of validating and resolving an authorization request.

Link copied to clipboard

Errors that can occur while resolving an authorization request

Link copied to clipboard

Represents an OAUTH2 authorization request. In particular either a SIOPv2 for id_token or a OpenId4VP for vp_token or a SIOPv2 combined with OpenID4VP

Link copied to clipboard

Configurations options for encrypting an authorization response if requested by the verifier.

Link copied to clipboard
data class ResponseEncryptionSpecification(val encryptionAlgorithm: JWEAlgorithm, val encryptionMethod: EncryptionMethod, val recipientKey: JWK) : Serializable

The client's (verifier) requirement for authorization response encryption that can be fulfilled by the wallet.

Link copied to clipboard
sealed interface ResponseMode : Serializable
Link copied to clipboard
value class Scope
Link copied to clipboard

An interface providing support for handling an OAUTH2 request that represents either an SIOP authentication request, or an OpenId4VP authorization request or a combined SIOP & OpenId4VP request.

Link copied to clipboard
data class SiopOpenId4VPConfig(val issuer: Issuer? = SelfIssued, val jarConfiguration: JarConfiguration = JarConfiguration.Default, val responseEncryptionConfiguration: ResponseEncryptionConfiguration = NotSupported, val vpConfiguration: VPConfiguration, val clock: Clock = Clock.systemDefaultZone(), val jarClockSkew: Duration = Duration.ofSeconds(15L), val supportedClientIdPrefixes: List<SupportedClientIdPrefix>, val errorDispatchPolicy: ErrorDispatchPolicy = ErrorDispatchPolicy.OnlyAuthenticatedClients)

Wallet configuration options for SIOP & OpenId4VP protocols.

Link copied to clipboard
object SIOPv2
Link copied to clipboard
sealed interface SubjectSyntaxType : Serializable
Link copied to clipboard
sealed interface SupportedClientIdPrefix

The Client identifier prefix supported (or trusted) by the wallet.

Link copied to clipboard

Which of the request_uri_method are supported by the wallet

Link copied to clipboard

A type of Transaction Data supported by the Wallet.

Link copied to clipboard
sealed interface TransactionData : Serializable

Represents resolved (i.e., supported by the Wallet) Transaction Data.

Link copied to clipboard
Link copied to clipboard
sealed interface VerifiablePresentation
Link copied to clipboard
data class VerifierId(val prefix: ClientIdPrefix, val originalClientId: OriginalClientId)

The Client Id of a Verifier as defined by OpenId4Vp.

Link copied to clipboard
Link copied to clipboard
data class VPConfiguration(val knownDCQLQueriesPerScope: Map<String, DCQL> = emptyMap(), val vpFormatsSupported: VpFormatsSupported, val supportedTransactionDataTypes: List<SupportedTransactionDataType> = emptyList())

Configuration options for OpenId4VP

Link copied to clipboard
@Serializable
data class VpFormatsSupported(val sdJwtVc: VpFormatsSupported.SdJwtVc? = null, val msoMdoc: VpFormatsSupported.MsoMdoc? = null) : Serializable
Link copied to clipboard
fun interface X509CertificateTrust

Functions

Link copied to clipboard

Convenient method that lifts an AuthorizationRequestError into Result context (wrapping an AuthorizationRequestException)

Link copied to clipboard

Gets the legal name (i.e., CN) from this X509Certificate.

fun Client.legalName(legalName: X509Certificate.() -> String? = X509Certificate::legalName): String?

Gets the legal name of this Client.